
package com.crowdfunding.circle.question.param;

import org.apache.commons.lang3.StringUtils;

import com.crowdfunding.circle.common.param.BaseParam;
import com.crowdfunding.circle.question.entity.QuestionVO;

/**
 * 你问我答查询条件类
 *
 * @author 朱国军
 * @version 2016年06月26日 朱国军
 */
public class QuestionParam extends QuestionVO implements BaseParam {

    /** 购买人 */
    private String buyUser;

    /** 用户标签 */
    private String userLabel;
    
    /** 查询开始数量 */
    private Integer startNum;
    
    /** 查询开始的页码：第一页为1 */
    private Integer pageNo;
    
    /** 查询每页显示数量 默认为10 */
    private Integer pageSize;
    
    /** 总数据条数 */
    private Integer dataCount;

    /** 总页码数 */
    private Integer pageCount;
    
    /** 查询排序字段 */
    private String orderField;
    
    /** 查询排序顺序 */
    private String orderDirection;
    
    /** 列表显示的状态为 2，3 */
    private Integer listStatus;

    /**
     * 获取列表显示的状态为 2，3
     *
     * @return 列表显示的状态为 2，3
     */
    public Integer getListStatus() {
        return listStatus;
    }

    /**
     * 设置列表显示的状态为 2，3
     *
     * @param listStatus 列表显示的状态为 2，3
     */
    public void setListStatus(Integer listStatus) {
        this.listStatus = listStatus;
    }

    /**
     * 获取购买人
     *
     * @return 购买人
     */
    public String getBuyUser() {
        return buyUser;
    }

    /**
     * 设置 购买人
     *
     * @param buyUser 购买人
     */
    public void setBuyUser(String buyUser) {
        this.buyUser = buyUser;
    }
    
    /**
     * 设置用户标签
     *
     * @param userLabel 用户标签
     */
    public void setUserLabel(String userLabel) {

        if (StringUtils.equals("0", userLabel)) {
            userLabel = null;
        }

        if (StringUtils.isNotBlank(userLabel) && !StringUtils.startsWith(userLabel, ",")) {
            userLabel = "," + userLabel;
        }

        if (StringUtils.isNotBlank(userLabel) && !StringUtils.endsWith(userLabel, ",")) {
            userLabel = userLabel + ",";
        }
        this.userLabel = userLabel;
    }

    /**
     * 获取用户标签
     *
     * @return 用户标签
     */
    public String getUserLabel() {
        return userLabel;
    }
    
    @Override
    public Integer getStartNum() {
        return startNum;
    }
    
    @Override
    public void setStartNum(Integer startNum) {
        this.startNum = startNum;
    }

    @Override
    public Integer getPageNo() {
        return pageNo;
    }
    
    @Override
    public void setPageNo(Integer pageNo) {
        if (null == pageNo || pageNo == 0) {
            pageNo = 1;
        }
        this.pageNo = pageNo;
    }
    
    @Override
    public Integer getPageSize() {
        return pageSize;
    }
    
    @Override
    public void setPageSize(Integer pageSize) {
        if (null == pageSize || pageSize == 0) {
            pageSize = 10;
        }
        this.pageSize = pageSize;
    }
    
    @Override
    public void setDataCount(Integer dataCount) {
        this.dataCount = dataCount;
        
    }

    @Override
    public Integer getDataCount() {
        return dataCount;
    }

    @Override
    public void setPageCount(Integer pageCount) {
        this.pageCount = pageCount;
    }

    @Override
    public Integer getPageCount() {
        return pageCount;
    }
    
    @Override
    public String getOrderField() {
        return orderField;
    }
    
    @Override
    public void setOrderField(String orderField) {
        this.orderField = orderField;
    }
    
    @Override
    public String getOrderDirection() {
        return orderDirection;
    }
    
    @Override
    public void setOrderDirection(String orderDirection) {
        this.orderDirection = orderDirection;
    }
}
